package com.briup.day13;

/**
 * @author ThinkBook
 */
public class Test02_Final {
    public static void main(String[] args) {
        System.out.println("SF.num: " + SF.getNum());
    }

    public static void main01(String[] args) {
        F f = new F();
        System.out.println(f);
    }
}
class F {
    //第一种初始化方式：显式初始化
     //private final int num = 10;
    //第二种初始化方式：构造代码块初始化
    // private final int num;
    // {
    // num = 20;
    // }
//第三种初始化方式：所有构造器中都对final成员进行初始化
    private final int num;
    public F() {
//必须给num初始化
        this.num = 30;
    }
    public F(int num) {
//必须给num初始化
        this.num = num;
}
@Override
    public String toString() {
    return "F [num=" + num + "]";
    }
}
class SF {
    //第一种初始化方式：显式初始化
//private final static int num = 10;
//第二种初始化方式
    private final static int num;
    static {
        num = 20;
    }
    //定义static方法，专门操作static数据成员
    public static int getNum() {
        return num;
    }
}
